Distribution of call-home events over time to ameliorate high communications and computation peaks in intelligent control system

ABSTRACT

The current application is directed to an intelligent control system that includes intelligent thermostats and remote servers that spread call-home events over time to avoid large peak computational and communications loads on intelligent-control-system servers. The spreading of call-home vents over time is effected by use of call-home splay values pseudorandomly generated for intelligent thermostats.

FIELD

The current patent relates to intelligent-thermostat-controlled HVACsystems and other intelligently controlled environment-conditioningsystems and, in particular, to intelligently controlledenvironment-conditioning systems that distribute call-home events overtime to avoid peak computational and communications loading of servers.

BACKGROUND

While substantial effort and attention continues toward the developmentof newer and more sustainable energy supplies, the conservation ofenergy by increased energy efficiency remains crucial to the world'senergy future. Along with improvements in the physical plant associatedwith home heating and cooling, including improvements in insulation,higher efficiency furnaces, and in other such improvements, substantialincreases in energy efficiency can be achieved by better control andregulation of home heating and cooling equipment. By efficientlycontrolling operation of heating, ventilation, and air conditioning(HVAC) equipment, substantial energy can be saved.

Many currently available HVAC thermostatic control systems can becharacterized as belonging to one of two categories: (1) a firstcategory that includes many simple, non-programmable home thermostats,each typically consisting of a single mechanical or electrical dial forsetting a desired temperature and a single HEAT-FAN-OFF-AC switch; and(2) a second category that includes many programmable thermostats, whichhave become more prevalent in recent years and which feature manydifferent HVAC-system settings that can be individually manipulated.While being easy to use for even the most unsophisticated occupant,thermostats of the first category are performed manually by the user. Asa result, substantial energy-saving opportunities are often missed forall but the most vigilant users. Moreover, advanced energy-savingsettings are not generally provided, including an ability to specify acustom temperature swing, the difference between the desired settemperature and actual current temperature that triggers activation ofthe heating/cooling unit. Users of thermostats of the second categoryare often intimidated by a large number of switches and controls, andtherefore seldom adjust the manufacturer defaults to optimize their ownenergy usage despite the fact that these thermostats are capable ofoperating HVAC equipment with energy-saving profiles. Indeed, in anunfortunately large number of cases, a home user may permanently operatethe unit in a “temporary” or “hold” mode, manually manipulating thedisplayed set temperature as if the unit were a thermostat of the firstcategory.

SUMMARY

The current application discusses intelligent control systems thatinclude a programmable device, generally an intelligent thermostat, forlocally controlling an HVAC system. The intelligent thermostat includeshigh-power-consuming circuitry that performs, while in an active state,a number of high power activities, including operating wirelesscommunications, driving display circuitry, displaying graphicalinformation to a user, and performing calculations relating to learning.The high-power consuming circuitry uses substantially less power whilein an INACTIVE, or SLEEP, state that when in the ACTIVE state. Theintelligent thermostat also includes low-power-consuming circuitry toperform a number of low power activities, including: transitioning thehigh-power circuitry from the INACTIVE state to the ACTIVE state;polling sensors, including temperature and occupancy sensors; andswitching HVAC functions between ON and OFF states. The intelligentthermostat also includes power-stealing circuitry that harvests powerfrom an HVAC-triggering circuit and a power-storage medium, such as arechargeable battery, that stores power harvested by the power-stealingcircuitry for use by other intelligent-thermostat circuitry, includingthe above-mentioned high-power-consuming. In many implementations, thehigh-power consuming circuitry includes a microprocessor that is locatedon a head unit and the low-power consuming circuitry includes amicrocontroller and is located on a backplate. The current applicationis directed to an intelligent control system that includes at least oneintelligent thermostat and remote servers. The current application isdirected to an intelligent control system that includes intelligentthermostats and remote servers that spread call-home events over time toavoid large peak computational and communications loads onintelligent-control-system servers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a perspective view of a versatile sensing andcontrol unit (VSCU unit).

FIGS. 1B-1C illustrate the VSCU unit as it is being controlled by thehand of a user.

FIG. 2A illustrates the VSCU unit as installed in a house having an HVACsystem and a set of control wires.

FIG. 2B illustrates an exemplary diagram of the HVAC system of FIG. 2A.

FIGS. 3A-3K illustrate user temperature adjustment based on rotation ofthe outer ring along with an ensuing user interface display.

FIG. 4 illustrates a data input functionality provided by the userinterface of the VSCU unit.

FIGS. 5A-5B illustrate a similar data input functionality provided bythe user interface of the VSCU unit for answering various questionsduring the set up interview.

FIGS. 6A-6C illustrate some of the many examples of user interfacedisplays provided by the VSCU unit.

FIG. 7 illustrates an exploded perspective view of the VSCU unit and anHVAC-coupling wall dock.

FIGS. 8A-B illustrates HVAC-coupling wall docks.

FIG. 9 illustrates an exploded perspective view of the VSCU unit and anHVAC-coupling wall dock.

FIGS. 10A-10C illustrate conceptual diagrams representative ofadvantageous scenarios in which multiple VSCU units are installed in ahome or other space that does not have a wireless data network.

FIG. 11 illustrates an advantageous scenario in which one or more VSCUunits are installed in a home that is equipped with WiFi wirelessconnectivity and access to the Internet.

FIG. 12 illustrates an energy management network as enabled by the VSCUunits and VSCU Efficiency Platform.

FIGS. 13A-B illustrate a thermostat having a user-friendly interface.

FIG. 13C illustrates a shell portion of a frame of the thermostat ofFIGS. 13A-B.

FIGS. 14A-14B illustrate a thermostat with respect to its two maincomponents: the head unit and the back plate.

FIGS. 15A-15B illustrate the head unit with respect to its primarycomponents.

FIGS. 16A-16B illustrate the head-unit frontal assembly with respect toits primary components.

FIGS. 17A-17B illustrate the backplate unit with respect to its primarycomponents.

FIG. 18 a partially assembled head-unit front.

FIG. 19 illustrates a head-on view of the head-unit circuit board.

FIG. 20 illustrates a rear view of the backplate circuit board.

FIGS. 21A-21C illustrate the sleep-wake timing dynamic, at progressivelylarger time scales.

FIG. 22 illustrates a self-descriptive overview of the functionalsoftware, firmware, and/or programming architecture of the head unitmicroprocessor.

FIG. 23 illustrates the functional software, firmware, and/orprogramming architecture of the backplate microcontroller.

FIG. 24 illustrates a view of the wiring terminals, as presented to theuser, when the backplate is exposed.

FIG. 25 illustrates, in part, the extensive amount of information thatis maintained by an intelligent thermostat during environmental controland monitoring operations.

FIGS. 26-28 illustrate, using control-flow diagrams, one implementationof call-home-event management within an intelligent-thermostat-basedintelligent-control system that distributes call-home events over aconfigurable period of time, rather than configuring call-home events beinitiated at one local time within a narrow time range.

DETAILED DESCRIPTION

The current application is directed to intelligent control systems thatinclude one or more intelligent thermostats that each controls one ormore HVAC systems, the intelligent thermostats alternatively referred toas “versatile sensing and control units” (VSCU units). Each VSCU unitprovides energy-saving HVAC control functionality while, at the sametime, is visually appealing and easy to use. Each VSCU unit includesselectively layered functionality, exposing unsophisticated users to asimple user interface but providing advanced users many differentenergy-saving and energy tracking functionalities. Even for the case ofunsophisticated users, a VSCU unit provides advanced energy-savingfunctionality that runs in the background. In addition, a VSCU unit usesmulti-sensor technology to learn about its heating and coolingenvironment and optimize control settings and parameters. A VSCU unitalso learns about users via interactive information gathering methods,including a setup interview in which a user answers a few simplequestions and, continuing over time, by using multi-sensor technology todetect user occupancy and control patterns, by tracking user controlinputs, and by additional interactive information-gathering methods. Onan ongoing basis, the VSCU unit processes the learned and sensedinformation and automatically adjusts its environmental control settingsto optimize energy usage while, at the same time, maintaining the livingspace at optimal levels according to the learned occupancy patterns andcomfort preferences of the user. The VSCU unit additionally promotesenergy-saving behavior of users by displaying, at selected times,information that encourages reduced energy usage, includingcharacterizations of historical energy cost performance, forecastedenergy costs, and displayed congratulations and encouragement.

When the VSCU unit is connected to the internet via a home network, suchas through IEEE 802.11 (Wi-Fi) connectivity, a VSCU may transmitreal-time or aggregated home energy performance data to a utilitycompany, a VSCU data-service provider, VSCU units in other locations,and/or other data recipients. The VSCU may; receive real-time oraggregated home energy performance data from a utility company, a VSCUdata service provider, VSCU units in other locations, and/or other datasources. The VSCU may receive new energy-control executables and/orother types of control upgrades from one or more VSCU data serviceproviders and/or other sources. The VSCU may receive current andforecasted weather information for inclusion in energy-saving controlroutines and user control commands from a user's computer,network-connected television, smart phone, and/or other stationary orportable data-communication appliance. The VSCU may provide aninteractive user interface to the user through a user'sdata-communication appliance. The VSCU may receive control commands andinformation from an external energy-management advisor, such as asubscription-based service aimed at leveraging collected informationfrom multiple sources to generate the best possible energy-savingcontrol commands and/or profiles for subscribers and may receive controlcommands and information from an external energy management authority,such as a utility company to whom limited authority has been voluntarilygiven to control the VSCU in exchange for rebates or other costincentives. The VSCU may additionally provide alarms, alerts, and otherinformation to the user on a user's digital device and/or that ofanother person or organization designated for receiving the alarms andalerts by the user. The need for transmission of alarms and alerts maybe determined by the VSCU by sensing various types of events within theenvironment of the VSCU, including both HVAC-related events and non-HVACrelated events.

The environment controlled by an intelligent control system may includeall or portions of a residential home, a duplex, townhome, multi-unitapartment building, hotel, retail store, office building, industrialbuilding, and other living spaces and work spaces serviced by one ormore HVAC systems. Users of intelligent control systems and VSCUs mayinclude residents, building owners, landlords, and other individuals whodirect control an environment serviced by an HVAC system throughinterfaces provided by VSCUs.

The phrases “set point” and “temperature set point” refer to a targettemperature setting of a temperature control system, generally set by auser or automatically set according to a schedule. Many thermostaticfunctionalities described below apply in both heating and coolingcontexts. To avoid unnecessary repetition, some examples may bepresented in only one of these contexts, without mentioning the other.Therefore, where a particular example is set forth, below, in thecontext of home heating, the present teachings are likewise applicableto the counterpart context of home cooling, and vice versa, to theextent such counterpart application would be logically consistent.

FIG. 1A illustrates a perspective view of a versatile sensing andcontrol “VSCU”) unit. The VSCU unit 100 preferably has a sleek, elegantappearance that does not detract from home decoration. The VSCU unit 100comprises a main body 108 that is preferably circular with a diameter ofabout 8 cm and that has a visually pleasing outer finish, such as asatin nickel or chrome finish. A cap-like structure comprising arotatable outer ring 106, a sensor ring 104, and a circular displaymonitor 102 is separated from the main body 108 by a small peripheralgap 110. The outer ring 106 has an outer finish similar to that of themain body 108, while the sensor ring 104 and circular display monitor102 have a common circular glass or plastic outer covering that isgently arced in an outward direction. The sensor ring 104 contains anyof a wide variety of sensors including infrared sensors, visible-lightsensors, and acoustic sensors. The glass or plastic that covers thesensor ring 104 is generally smoked or mirrored so that the sensorsthemselves are not visible to the user. An air-venting functionality isprovided to allow the ambient air to be sensed by the internal sensors.

FIGS. 1B-1C illustrate the VSCU unit as it is being controlled by thehand of a user. In one example, the VSCU unit 100 is controlled by onlytwo types of user input, the first being a rotation of the outer ring106 (FIG. 1B), and the second being an inward push on the outer ring 106(FIG. 1C) until an audible and/or tactile click occurs. For one example,the inward push of FIG. 1C only causes the outer ring 106 to moveforward, while in another example the entire cap-like structure,including both the outer ring 106 and the glass covering of the sensorring 104 and circular display monitor 102, move inwardly together whenpushed. In one example, the sensor ring 104, the circular displaymonitor 102, and their common glass covering do not rotate with outerring 106.

By user rotation of the outer ring 106 (“ring rotation”) and inwardpushing of the outer ring 106 (“inward click”) responsive to intuitiveand easy-to-read prompts on the circular display monitor 102, the VSCUunit 100 is capable of receiving information from the user for basicsetup and operation. Generally, the outer ring 106 is mechanicallymounted in a manner that provides a smooth yet viscous feel to the user,which promotes an overall feeling of elegance while also reducingspurious or unwanted rotational inputs. In one example, the VSCU unit100 recognizes three different types of user inputs via ring rotationand inward click: (1) ring rotate left, (2) ring rotate right, and (3)inward click. In other examples, more complex fundamental user inputscan be recognized, including double-click or triple-click inwardpresses, speed-sensitive, and acceleration-sensitive rotational inputs.

A discrete mechanical HEAT-COOL toggle switch, HEAT-OFF-COOL selectionswitch, or HEAT-FAN-OFF-COOL switch is generally not included in theVSCU unit 100, contributing to the overall visual simplicity andelegance of the VSCU unit 100 and facilitating the provision of advancedcontrol abilities. Generally, no electrical proxy far such a discretemechanical switch is included. Instead, the switching between thesesettings is performed under computerized control of the VSCU unit 100responsive to multi-sensor readings, programming, and/or theabove-described ring-rotation and inward-click user inputs.

FIG. 2A illustrates the VSCU unit as installed in a house having an HVACsystem and a set of control wires. The VSCU unit 100 is well suited forinstallation by contractors in new home construction and/or in thecontext of complete HVAC system replacement. However, the VSCU unit 100may also serve as a replacement thermostat in an existing home. Ineither case, the VSCU unit 100 can facilitate inserting an entireenergy-saving technology platform into the home. The phrase “VSCUEfficiency Platform” refers to products and services that aretechnologically compatible with the VSCU unit 100 and/or with devicesand programs that support the operation of the VSCU unit 100.

FIG. 2B illustrates an exemplary diagram of the HVAC system of FIG. 2A.HVAC system 299 provides heating, cooling, ventilation, and/or airhandling for an enclosure, such as the single-family home 201 depictedin FIG. 2A. The HVAC system 299 depicts a forced-air type heatingsystem, although according to other examples, other types of systems canbe used. In heating, heating coils or elements 242 within air handler240 provide a source of heat using electricity or gas via line 236. Coolair is drawn from the enclosure via return air duct 246 through filter270 using fan 238 and is heated by the heating coils or elements 242.The heated air flows back into the enclosure at one or more locationsthrough a supply air duct system 252 and supply air grills such as grill250. In cooling, an outside compressor 230 passes a gas such as Freonthrough a set of heat exchanger coils to cool the gas. The gas then goesvia line 232 to the cooling coils 234 in the air handlers 240 where itexpands, cools and cools the air being circulated through the enclosurevia fan 238. According to some examples a humidifier 262 is alsoprovided to moisten the air using water provided by a water line 264.Although not shown in FIG. 2B, according to some examples the HVACsystem for the enclosure has other known components such as dedicatedoutside vents to pass air to and from the outside, one or more dampersto control airflow within the duct systems, an emergency heating unit,and a dehumidifier. The HVAC system is selectively actuated via controlelectronics 212 that communicate with the VSCU 100 over control wires298.

FIGS. 3A-3K illustrate user temperature adjustment based on rotation ofthe outer ring along with an ensuing user interface display. In oneexample, prior to the time depicted in FIG. 3A in which the user hasapproached the VSCU unit 100, the VSCU unit 100 has set the circulardisplay monitor 102 to be entirely blank (“dark”), which corresponds toa state of inactivity. As the user walks up to the display, the user'spresence is detected by one or more sensors in the VSCU unit 100, atwhich point the circular display monitor 102 is automatically turned on.When this happens, as illustrated in FIG. 3A, the circular displaymonitor 102 displays the current set point in a large font at a centerreadout 304. Also displayed is a set point icon 302 disposed along aperiphery of the circular display monitor 102 at a location that isspatially representative of the current set point. Although it iselectronic, the set point icon 302 is reminiscent of older mechanicalthermostat dials.

The example of FIG. 3A assumes a scenario for which the actual currenttemperature of 68 is equal to the set point temperature of 68. For acase in which the user approaches the VSCU unit 100 when the actualcurrent temperature is different than the set point temperature, thedisplay would also include an actual temperature readout and a trailingicon, which are described further below in the context of FIGS. 3B-3K.

Referring now to FIG. 3B, as the user turns the outer ring 106clockwise, the increasing value of the set point temperature isinstantaneously provided at the center readout 304 and the set pointicon 302 moves in a clockwise direction around the periphery of thecircular display monitor 102 to a location representative of theincreasing set point. Whenever the actual current temperature isdifferent than the set point temperature, an actual temperature readout306 is provided in relatively small digits along the periphery of thecircular a location spatially representing the actual currenttemperature. Further provided is a trailing icon 308, also referred toas a “tail icon” or “difference-indicating icon,” which extends betweenthe location of the actual temperature readout 306 and the set pointicon 302. Further provided is a time-to-temperature readout 310 that isindicative of a prediction, as computed by the VSCU unit 100, of thetime interval required for the HVAC system to bring the temperature fromthe actual current temperature to the set point temperature.

FIGS. 3C-3K illustrate views of the circular display monitor 102 atexemplary instants in time after the user set point change that wascompleted in FIG. 3B (assuming that the circular display monitor 102 hasremained active, such as during a preset post-activity time period,responsive to the continued proximity of the user, or responsive to thedetected proximity of another occupant). Thus, at FIG. 3C, the currentactual temperature is about halfway from the old set point to the newset point, and, in FIG. 3D, the current actual temperature is almost atthe set point temperature. As illustrated in FIG. 3E, both the trailingicon 308 and the actual temperature readout 306 disappear when thecurrent actual temperature reaches the set point temperature and theheating system is turned off. Then, as typically happens in home heatingsituations, the actual temperature begins to sag (FIG. 3F) until thepermissible temperature swing is reached, at which point the heatingsystem is again turned on and the temperature rises to the set point(FIGS. 3H-3I) and the heating system is turned off. In this example, theswing is set to two degrees. The current actual temperature then beginsto sag again (FIGS. 3J-3K), and the cycle continues.

FIG. 4 illustrates a data input functionality provided by the userinterface of the VSCU unit. The data-input functionality is provided fora particular example in which the user is asked, during a congenialsetup interview, to enter the user's ZIP code. Responsive to a displayof digits 0-9 distributed around a periphery of the circular displaymonitor 102 along with a selection icon 402, the user turns the outerring 106 to move the selection icon 402 to the appropriate digit, andthen provides an inward click command to enter that digit.

In one example, the VSCU unit 100 is programmed to provide asoftware-lockout functionality, requiring a person to enter a passwordor combination before the VSCU unit 100 will accept control inputs. Theuser interface for password request and entry can be similar to thatshown in FIG. 4.

FIGS. 5A-5B illustrate a similar data input functionality provided bythe user interface of the VSCU unit for answering various questionsduring the set up interview. The user rotates the outer ring 106 untilthe desired answer is highlighted, and then provides an inward clickcommand to enter that answer.

FIGS. 6A-6C illustrate some of the many examples of user interfacedisplays provided by the VSCU unit. At selected times, upon userrequest, or at other times, including random points in time, the VSCUunit 100 displays information on its visually appealing user interfacethat encourages reduced energy usage. In one example shown in FIG. 6A,the user is shown a message of congratulations regarding a particularenergy-saving accomplishment achieved by the user. It has been foundparticularly effective to include pictures or symbols, such as leaficons 602, that evoke pleasant feelings or emotions in the user forproviding positive reinforcement of energy-saving behavior.

FIG. 6B illustrates another example of an energy performance displaythat can influence user energy-saving behavior. The performance displaycomprises a display of the household's recent energy use on a dailybasis and a positive-feedback leaf icon 602 for days of relatively lowenergy usage. Messages such as those of FIG. 6A can be displayed forcustomers who are not Wi-Fi enabled, based on the known cycle times anddurations of the home HVAC equipment as tracked by the VSCU unit 100.Indeed, although a bit more involved, messages such as those of FIG. 6Acan also be displayed for customers who are not Wi-Fi enabled, based onthe known HVAC cycle times and durations combined with pre-programmedestimates of energy costs for their ZIP code and/or user-enteredhistorical energy cost information from past utility bills.

For another example shown in FIG. 6C, the user is shown informationabout the user's energy performance status or progress relative to apopulation of other VSCU-equipped owners who are similarly situated froman energy usage perspective. For this type of display, and similardisplays in which data from other homes and/or central databases isrequired, the VSCU unit 100 needs to be network-enabled. It has beenfound particularly effective to provide competitive or game-styleinformation to the user as an additional means to influenceenergy-saving behavior. As illustrated in FIG. 6B, positive-feedbackleaf icons 602 can be added to the display if the user's competitiveresults are positive. Optionally, the leaf icons 602 can be associatedwith a frequent flyer miles-type point-collection scheme or carboncredit-type business method, as administered, for example, by anexternal VSCU data service provider so that a tangible, fiscal reward isalso associated with the emotional reward.

In some examples, the VSCU unit 100 is manufactured and sold as asingle, monolithic structure containing electrical and mechanicalconnections on the back of the unit. In some examples, the VSCU 100 ismanufactured and/or sold in different versions or packaging groupsdepending on the particular capabilities of the manufacturer(s) and theparticular needs of the customer. For example, the VSCU unit 100 isprovided, in some examples, as the principal component of a two-partcombination consisting of the VSCU 100 and one of a variety of dedicateddocking devices, as described further below.

FIG. 7 illustrates an exploded perspective view of the VSCU unit and anHVAC-coupling wall dock. For first-time customers who are going to bereplacing an old thermostat, the VSCU unit 100 is provided incombination with HVAC-coupling wall dock 702. The HVAC-coupling walldock 702 comprises mechanical hardware for attaching to the wall andelectrical terminals for connecting to the HVAC wiring 298 that will beextending out of the wall in a disconnected state when the oldthermostat is removed. The HVAC-coupling wall dock 702 is configuredwith an electrical connector 704 that mates to a counterpart electricalconnector 705 in the VSCU 100.

For the initial installation process, the customer first installs theHVAC-coupling wall dock 702, including necessary mechanical connections,to the wall and HVAC wiring connections to the HVAC wiring 298. Once theHVAC-coupling wall dock 702 is installed, the next task is to slide theVSCU unit 100 over the wall dock to mate the electrical connectors704/705. The components are generally configured so that theHVAC-connecting wall dock 702 is entirely hidden underneath and insidethe VSCU unit 100.

In one example, the HVAC-connecting wall dock 702 is a relativelybare-bones device having the function of facilitating electricalconnectivity between the HVAC wiring 298 and the VSCU unit 100. Inanother example, the HVAC-coupling wall dock 702 is equipped to performand/or facilitate, in either a duplicative sense and/or a primary sense,one or more of the functionalities attributed to the VSCU unit 100 inthe instant disclosure, using a set of electrical, mechanical, and/orelectromechanical components 706. One particularly useful functionalityis for the components 706 to include power-extraction circuitry forextracting usable power from the HVAC wiring 298, at least one wire ofwhich carries a 24-volt AC signal in accordance with common HVAC wiringpractice. The power-extraction circuitry converts the 24-volt AC signalinto DC power that is usable by the processing circuitry and displaycomponents of the main unit 701.

The division and/or duplication of functionality between the VSCU unit100 and the HVAC-coupling wall dock 702 can be provided in manydifferent ways. In another example, the components 706 of theHVAC-coupling wall dock 702 can include one or more sensing devices,such as an acoustic sensor, for complementing the sensors provided onthe sensor ring 104 of the VSCU unit 100. In another example, thecomponents 706 can include wireless communication circuitry compatiblewith one or more wireless communication protocols, such as the Wi-Fiand/or ZigBee protocols. In another example, the components 706 caninclude external AC or DC power connectors. In another example, thecomponents 706 can include wired data communications jacks, such as anRJ45 Ethernet jack, an RJ11 telephone jack, or a USB connector.

Provided in accordance with one or more examples related to the dockingcapability shown in FIG. 7 are further devices and features thatadvantageously promote expandability of the number of sensing andcontrol nodes that can be provided throughout the home. In one example,a tabletop docking station (not shown) is provided for docking of asecond instance of the VSCU unit 100, which is referred to as an“auxiliary VSCU” unit (not shown). The tabletop docking station and theauxiliary VSCU unit can be separately purchased by the user, either atthe same time of purchase of the original VSCU unit 100 or at a latertime. The tabletop docking station is similar in functionality to theHVAC-coupling wall dock 702, except that it does not require connectionto the HVAC wiring 298 and is conveniently powered by a standard walloutlet. In another example, instead of being identical to the originalVSCU unit 100, the auxiliary VSCU unit can be a differently labeledversion.

The phrase “primary VSCU unit” refers to one that is electricallyconnected to actuate an HVAC system in whole or in part, which wouldnecessarily include the first VSCU unit purchased for any home, whilethe phrase “auxiliary VSCU unit” refers to one or more additional VSCUunits not electrically connected to actuate an HVAC system in whole orin part. An auxiliary VSCU unit, when docked, will automatically detectthe primary VSCU unit and will automatically be detected by the primaryVSCU unit, such as by Wi-Fi or ZigBee wireless communication. Althoughthe primary VSCU unit remains the sole provider of electrical actuationsignals to the HVAC system, the two VSCU units will otherwise cooperatein unison for improved control heating and cooling controlfunctionality, such improvement being enabled by added multi-sensingfunctionality provided by the auxiliary VSCU unit as well as byadditional processing power provided to accommodate more powerful andprecise control algorithms. Because the auxiliary VSCU unit can acceptuser control inputs just like the primary VSCU unit, user convenience isalso enhanced. Thus, for example, where the tabletop docking station andthe auxiliary VSCU unit are placed on a nightstand next to the user'sbed, the user is not required to get up and walk to the location of theprimary VSCU unit to manipulate the temperature set point, view energyusage, or otherwise interact with the system.

In one example, VSCU units sold by the manufacturer are identical intheir core functionality, each being able to serve as either a primaryVSCU unit or auxiliary VSCU unit as the case requires, although thedifferent VSCU units may have different colors, ornamental designs,memory capacities, and so forth. For this example, the user is able tointerchange the positions of VSCU units by simple removal of each onefrom its existing docking station and placement into a different dockingstation. There is an environmentally, technically, and commerciallyappealing ability for the customer to upgrade to the newest, latest VSCUdesigns and technologies without the need to throw away the existingVSCU unit.

In other examples, different VSCU units sold by a manufacturer can havedifferent functionalities in terms of their abilities to serve asprimary versus auxiliary VSCU units. The hardware cost of anauxiliary-only VSCU unit may be substantially less than that of adual-capability primary/auxiliary VSCU unit. In other examples, primaryVSCU units may use one kind of docking connection system and auxiliaryVSCU units may use a different kind of docking connection system. Instill other examples, primary VSCU units may feature the docking-stationcapability of FIG. 7, but auxiliary VSCU units, wherein auxiliary VSCUunits may not.

FIG. 8A illustrates an HVAC-coupling wall dock. The HVAC-coupling walldock 702′, which includes a set of input wiring ports 851, represents afirst version of the HVAC-coupling wall dock 702 of FIG. 7 that ismanufactured and sold in a simple or do-it-yourself (“DIY”) productpackage in conjunction with the VSCU unit 100. The input wiring ports851 of the HVAC-coupling wall dock 702′ are limited in number andselection to represent a business and technical compromise betweenproviding enough control signal inputs to meet the needs of a reasonablylarge number of HVAC systems in a reasonably large number of households,while, at the same time, not intimidating or overwhelming thedo-it-yourself customer with an overly complex array of connectionpoints. In one example, the input wiring ports 851 include: Rh (24 VACheating call switch power); Rc (24VAC cooling call switch power); W(heating call); Y (cooling call); G (fan); and O/B (heat pump).

The HVAC-coupling wall dock 702′ is configured and designed inconjunction with the VSCU unit 100, including both hardware aspects andprogramming aspects, to provide a simple DIY installation process thatfurther provides an appreciable degree of fool proofing for protectingthe HVAC system from damage and for ensuring that signals are directedto appropriate corresponding equipment. In one example, theHVAC-coupling wall dock 702′ is equipped with a small mechanicaldetection switch (not shown) for each distinct input port, such thatinsertion of a wire and non-insertion of a wire is automaticallydetected and a corresponding indication signal is provided to the VSCU100 upon initial docking. In this way, the VSCU 100 has knowledge foreach individual input port whether a wire has, or has not been, insertedinto that port. Preferably, the VSCU unit 100 is also provided withelectrical sensors (e.g., voltmeter, ammeter, and ohmmeter)corresponding to each of the input wiring ports 851. The VSCU 100 istherefore enabled, by suitable programming, to perform sanity checks atinitial installation. By way of example, if there is no input wire ateither the Rc or Rh terminal, or if there is no AC voltage sensed ateither of these terminals, further initialization activity can beimmediately halted, and the user notified on the circular displaymonitor 102, because there is either no power at all or the user hasinserted the Rc and/or Rh wires into the wrong terminal. By way offurther example, if there is a live voltage on the order of 24 VACdetected at any of the W, Y, and G terminals, then it can be concludedthat the user has placed the Rc and/or Rh wire in the wrong place, andappropriate installation halting and user notification can be made.

One feature provided according to one example relates to automatedopening versus automated shunting of the Rc and Rh terminals by the VSCUunit 100. In many common home installations, instead of there beingseparate wires provided for Rc (24 VAC heating call switch power) and Rh(24 VAC cooling call switch power), there is only a single 24 VAC callswitch power lead provided. This single 24 VAC lead, which might belabeled R, V, Rh, or Rc, depending on the unique history andgeographical location of the home, provides the call switch power forboth heating and cooling. For such cases, a thermostat has the Rc and Rhinput ports shunted together so that the power from a single lead can berespectively accessed by the heating and cooling call switches. However,in many other common home installations, there are separate 24 VAC wiresprovided for Rc and Rh running from separate transformers and, when soprovided, it is important not to shunt them together to avoid equipmentdamage. These situations are resolved historically by a professionalinstaller examining the HVAC system and ensuring that a shunting lead(or equivalent DIP switch setting) is properly installed or notinstalled as appropriate and/or the presence on most thermostats of adiscrete user-toggled mechanical or electromechanical switch to ensurethat heating and cooling are not simultaneously activated. The VSCU 100is equipped and programmed to automatically test the inserted wiring toclassify the user's HVAC system into one of the above two types (i.e.,single call power lead versus dual call power leads), to automaticallyensure that the Rc and Rh input ports remain electrically segregatedwhen the user's HVAC system is determined to be of the dual call powerlead type, and to automatically shunt the Rc and Rh input ports togetherwhen the user's HVAC system is determined to be of the single call powerlead type. The automatic testing can comprise, without limitation,electrical sensing such as that provided by voltmeter, ammeters,ohmmeters, and reactance-sensing circuitry, as well as functionaldetection as described further below.

The VSCU may conduct automated functional testing of the HVAC system bythe VSCU unit 100 based on the wiring insertions made by the installeras detected by the small mechanical detection switches at each distinctinput port. Thus, for example, where an insertion into the W (heatingcall) input port is mechanically sensed at initial startup, the VSCUunit 100 actuates the furnace (by coupling W to Rh) and thenautomatically monitors the temperature over a predetermined period, suchas ten minutes. When the temperature is found to be rising over thatpredetermined period, then the VSCU determines that the W (heating call)lead has been properly connected to the W (heating call) input port.However, when the temperature is found to be falling over thatpredetermined period, then it is determined that Y (cooling call) leadhas likely been erroneously connected to the W (heating call) inputport. In one example, when such error is detected, the system is shutdown and the user is notified and advised of the error on the circulardisplay monitor 102. In another example, when such error is detected,the VSCU unit 100 automatically reassigns the W (heating call) inputport as a Y (cooling call) input port to automatically correct theerror. Similarly, according to an example, where the Y (cooling call)lead is mechanically sensed at initial startup, the VSCU unit 100actuates the air conditioner (by coupling Y to Rc) and thenautomatically monitors the temperature, validating the Y connection whenthe temperature is sensed to be falling and invalidating the Yconnection (and, optionally, automatically correcting the error byreassigning the Y input port as a W input port) when the temperature issensed to be rising.

The VSCU may additionally determine a homeowner's pre-existing heat pumpwiring convention when an insertion onto the O/B (heat pump) input portis mechanically sensed at initial startup. Depending on a combination ofseveral factors, such as the history of the home, the geographicalregion of the home, and the particular manufacturer and installationyear of the home's heat pump, there may be a different heat pump signalconvention used with respect to the direction of operation (heating orcooling) of the heat pump. According to an example, the VSCU unit 100automatically and systematically applies, for each of a number ofpreselected candidate heat pump actuation signal conventions, a coolingactuation command and a heating actuation command, each actuationcommand being followed by a predetermined time period over which thetemperature change is sensed. If the cooling command according to thepresently selected candidate convention is followed by a sensed periodof falling temperature, and the heating command according to thepresently selected candidate convention is followed by a sensed periodof rising temperature, then the presently selected candidate conventionis determined to be the actual heat pump signal convention for thathome. If, on the other hand, the cooling command was not followed by asensed period of cooling and/or the heating command was not followed bya sensed period of heating, then the presently selected candidateconvention is discarded and the VSCU unit 100 repeats the process forthe next candidate heat pump actuation signal convention.

FIG. 8B illustrates a diagram of an HVAC-coupling wall dock 702″, withparticular reference to a set of input wiring ports 861, whichrepresents a second version of the HVAC-coupling wall dock 702 of FIG. 7that is manufactured and sold in a professional product package inconjunction with the VSCU unit 100. The professional product package isgenerally manufactured and marketed with professional installation inmind, such as by direct marketing to HVAC service companies, generalcontractors involved in the construction of new homes, or to homeownershaving more complex HVAC systems with a recommendation for professionalinstallation. The input wiring ports 861 of the HVAC-coupling wall dock702″ are selected to be sufficient to accommodate both simple andcomplex HVAC systems. In one example, the input wiring ports 861 includethe following set: Rh (24 VAC heating call switch power); Rc (24 VACcooling call switch power); W1 (first stage heating call); W2 (secondstage heating call); Y1 (first stage cooling call); Y2 (second stagecooling call); G (fan); O/B (heat pump); AUX (auxiliary device call); E(emergency heating call); HUM (humidifier call); and DEHUM (dehumidifiercall). In one example, even though professional installation iscontemplated, the HVAC-coupling wall dock 702″ is nevertheless providedwith small mechanical detection switches (not shown) at the respectiveinput wiring ports for wire insertion sensing, and the VSCU unit 100 isprovided with one or more of the various automated testing and automatedconfiguration capabilities associated with the DIY package describedabove, which may be useful for some professional installers and/or moretechnically savvy do-it-yourselfers confident enough to perform theprofessional-model installation for their more advanced HVAC systems.

FIG. 9 illustrates the VSCU unit and an HVAC-coupling wall dock. TheHVAC-coupling wall dock 902 is similar to the HVAC-coupling wall dock702 of FIG. 7, except that it has an additional functionality as a verysimple, elemental, standalone thermostat when the VSCU unit 100 isremoved, the elemental thermostat including a standard temperaturereadout/setting dial 972 and a simple COOL-OFF-HEAT switch 974. This canprove useful for a variety of situations, such as when the VSCU 100needs to be removed for service or repair for an extended period of timeover which the occupants would still like to remain reasonablycomfortable. In one example, the elemental thermostat components 972 and974 are entirely mechanical in nature, with no electrical power neededto trip the control relays. In other examples, simple electroniccontrols, such as electrical up/down buttons and/or an LCD readout, areprovided. In other examples, some subset of the advanced functionalitiesof the VSCU unit 100 can be provided, such as elemental network accessto allow remote control, to provide a sort of brain stem functionalitywhile the brain (the VSCU unit 100) is temporarily away.

FIGS. 10A-10C illustrate conceptual diagrams representative of scenariosin which multiple VSCU units are installed in a home or other space thatdoes not have a wireless data network. For the example of FIG. 10A inwhich the home 201 has a single HVAC system 298, a primary VSCU unit 100is installed and connected to the HVAC system via the control wires 298and an auxiliary VSCU unit 100′ is placed, by way of example, on anightstand 1202. The primary VSCU unit 100 and auxiliary VSCU unit 100′are each configured to automatically recognize the presence of the otherand to communicate with each other using a wireless communicationprotocol such as Wi-Fi or ZigBee running in an ad hoc mode.

Many advantageous capabilities are programmed into the VSCU units 100and 100′ to leverage their communication and multi-sensing capabilitiesthat allow them, in a cooperative manner, to perform many VSCU unitfunctionalities, including learning about the home HVAC environment,performing occupancy sensing and prediction, learning user comfortpreferences, etc., that do not require Internet access. In one example,the primary VSCU unit 100 receives temperature data from the auxiliaryVSCU unit 100′ and computes an average of the two temperatures,controlling the HVAC system 299 so that the average temperature of thehome 201 is maintained at the current temperature set point level. Oneor more additional auxiliary VSCU units (not shown) may also bepositioned at one or more additional locations throughout the home andcan become part the ad hoc home VSCU network. Among other advantages,adding more auxiliary VSCU units promotes more accurate occupancydetection, facilitates better determination of spatial temperaturegradients and thermal characteristics, and provides additional dataprocessing power.

The primary/auxiliary VSCU units 100/100′ may be programmed to establisha master/slave relationship, in which any conflicts in their automatedcontrol determinations are resolved in favor of the master VSCU unit,and/or such that any user inputs at the master unit take precedence overany conflicting user inputs made at the slave VSCU unit. Although theprimary VSCU unit 100 is likely the “master” VSCU unit in a beginning ordefault scenario, the status of any particular VSCU unit as a “master”or “slave” is not dictated solely by its status as a primary orauxiliary VSCU unit. Moreover, the status of any particular VSCU unit as“master” or “slave” is not permanent, but rather is dynamicallyestablished to best meet current HVAC control needs as can be bestsensed and/or predicted by the VSCU units. In one example, theestablishment of master versus slave status is optimized to best meetthe comfort desires of users as can be best sensed and/or predicted bythe VSCU units. By way of example, when each VSCU unit is sensing thepresence of multiple occupants, then the primary VSCU unit isestablished as the master unit and controls the HVAC system 299 suchthat the average temperature reading of the two VSCU units is maintainedat the current set point temperature according to a currently activetemplate schedule (i.e., a schedule of time intervals and set pointtemperatures for each time interval). However, when no occupants in thehome are sensed except for a person in the bedroom, as sensed by theauxiliary VSCU unit 100′ which is positioned on a nightstand in thisexample, then the auxiliary VSCU unit 100′ becomes the “master” VSCUunit, which commands the “slave” VSCU unit 100 to control the HVACsystem 299 so that the temperature in the bedroom, as sensed by themaster unit, stays at a current set point temperature.

Many other automated master/slave establishment scenarios and controldeterminations may be implemented. In one example, the master-slavedetermination can be made, influenced, and/or supported based on anautomated determination of which thermostat is in the best location toreliably govern the temperature, based on historical and/ortesting-observed cycling behavior or other criteria.

The establishment of master-slave status for the primary/auxiliary VSCUunits 100/100′ can also be based upon human control inputs. By way ofexample, when each VSCU unit is sensing the presence of multipleoccupants, and a user manually changes the current set point temperatureon one of the two units, the VSCU unit can output the question “MasterOverride?” on its circular display monitor 102 along with two answeroptions “Yes” and “Let VSCU Decide,” with the latter being circled asthe default response. On the other hand, when the two VSCUs collectivelysense only the presence of one user in the home, then whichever unit iscontrolled by the user can be established as the master unit, withoutthe need for asking the user for a resolution. The VSCU units 100/100′can be programmed so that the establishment of master/slave status canbe explicitly dictated by a user at system setup time, such as during asetup interview, or at a subsequent configuration time using themenu-driven user interface of one of the two VSCU units.

Multiple VSCU units may share computing tasks among themselves in anoptimal manner based on power availability and/or circuitry heatingcriteria. Many of the advanced sensing, prediction, and controlalgorithms provided with the VSCU unit are relatively complex andcomputationally intensive, and can result in high power usage and/ordevice heating when carried out unthrottled. In one example, theintensive computations are automatically distributed so that most arecarried out on a subset of the VSCU units known to have the best powersource(s) available at that time and/or known to have the highest amountof stored battery power available. Thus, for example, because it isgenerally preferable for each primary VSCU unit not to require householdAC power for simplicity of installation as well as for equipment-safetyconcerns, the primary VSCU unit 100 of FIG. 10A is often powered byenergy harvested from one or more of the 24 VAC call relay powersignals, and therefore may only have a limited amount of extra poweravailable for carrying out intensive computations. In contrast, atypical auxiliary VSCU unit may be a nightstand unit that can be pluggedin as easily as a clock radio. In such cases, much of the computationalload can be assigned to the auxiliary VSCU unit so that power ispreserved in the primary VSCU unit. In another example, the speed of theintensive data computations carried out by the auxiliary VSCU unit (or,more generally, any VSCU unit to which the heavier computing load isassigned) can be automatically throttled using known techniques to avoidexcessive device heating, so that temperature sensing errors in thatunit are avoided. In yet another example, the temperature sensingfunctionality of the VSCU unit(s) to which the heavier computing load isassigned can be temporarily suspended for an interval that includes theduration of the computing time, so that no erroneous control decisionsare made when substantial circuitry heating does occur.

Referring now to FIG. 10B, it is often the case that a home or businesswill have two or more HVAC systems, each of them being responsible for adifferent zone in the house and being controlled by its own thermostat.Thus, shown in FIG. 10B is a first HVAC system 299 associated with afirst zone Z1 and a second HVAC system 299′ associated with a secondzone Z2. According to an example, first and second primary VSCU units100 and 100″ are provided for controlling the respective HVAC units 299and 299′. The first and second primary VSCU units 100 and 100″ areconfigured to leverage their communication and multi-sensingcapabilities such that they jointly, in a cooperative manner, performmany cooperative communication-based VSCU unit functionalities similaror analogous to those described above with respect to FIG. 10A, andstill further cooperative VSCU unit functionalities for multi-zonecontrol. As illustrated in FIG. 10C, the cooperative functionality ofthe first and second primary VSCU units 100 and 100″ can be furtherenhanced by the addition of one or more auxiliary VSCU units 100′according to further examples.

It is to be appreciated that there are other multiple-thermostatscenarios that exist in some homes other than ones for which eachthermostat controls a distinct HVAC system, and that multiple VSCU unitinstallations can be configured to control such systems. In someexisting home installations there may only be a single furnace or asingle air conditioning unit, but the home may still be separated intomultiple zones by actuated flaps in the ductwork, each zone controlledby its own thermostat. In such settings, two primary VSCU units can beinstalled and configured to cooperate, optionally in conjunction withone or more auxiliary VSCU units, to provide optimal HVAC system controlaccording to the described examples.

In one example in the context of non-network-connected VSCU units, theVSCU unit is configured and programmed to use optically sensedinformation to determine an approximate time of day. For a largemajority of installations, regardless of the particular location ofinstallation in the home, there is generally a cyclical 24-hour patternrelated to the intensity of ambient light detected by a VSCU unit. Thiscyclical 24-hour pattern is automatically sensed, with spurious opticalactivity such as light fixture actuations being filtered out over manydays or weeks when necessary, and optionally using ZIP code information,to establish a rough estimate of the actual time of day. This roughinternal clock can be used for non-network-connected installations toverify and correct a gross clock setting error by the user or toestablish a time-of-day clock when the user does not enter a time duringconfiguration.

FIG. 11 illustrates a scenario in which one or more VSCU units areinstalled in a home that is equipped with WiFi wireless connectivity andaccess to the Internet. In addition to providing the standalone,non-Internet connected functionalities described for FIGS. 10A-10C, theconnection of one or more VSCU units to the Internet allows the VSCUs toprovide a rich variety of additional capabilities. Shown in FIG. 11 is aprimary VSCU unit 100 and auxiliary VSCU unit 100′ having WiFi access tothe Internet 1199 via a wireless router/Internet gateway 1168. A usermay communicate with the VSCU units 100 and/or 100′ via a home computer1170, a smart phone 1172 or other portable data communication appliance1172′, or any other Internet-connected computer 1170′.

FIG. 12 illustrates an energy management network as enabled by the VSCUunits and VSCU Efficiency Platform. The environment of FIG. 12, which isapplicable on any scale (neighborhood, regional, state-wide,country-wide, and even world-wide), includes: a number of homes 201 eachhaving one or more network-enabled VSCU units 100; an exemplary hotel1202 (or multi-unit apartment building, etc.) in which each room or unithas a VSCU unit 100, the hotel 1202 further having a computer system1204 and database 1206 configured for managing the multiple VSCU unitsand running software programs, or accessing cloud-based services,provisioned and/or supported by the VSCU data service company 1208; aVSCU data service company 1208 having computing equipment 1210 anddatabase equipment 1212 configured for facilitating provisioning andmanagement of VSCU units, VSCU support equipment, and VSCU-relatedsoftware and subscription services; a handyman or home repair company1214 having a computer 1216 and database 1218 configured, for example,to remotely monitor and test VSCU operation and automatically triggerdispatch tickets for detected problems, the computer 1216 and database1218 running software programs or accessing cloud-based servicesprovisioned and/or supported by the VSCU data service company 1208; alandlord or property management company 1220 having a computer 1222 anddatabase 1224 configured, for example, to remotely monitor and/or managethe VSCU operation of their tenants and/or clients, the computer 1222and database 1224 running software programs, or accessing cloud-basedservices, provisioned and/or supported by the VSCU data service company1208; and a utility company 1226 providing HVAC energy to utilitycustomers and having computing equipment 1228 and database equipment1230 for monitoring VSCU unit operation, providing VSCU-usable energyusage data and statistics, and managing and/or controlling VSCU unit setpoints at peak load times or other times, the computing equipment 1228and database equipment 1230 running software programs or accessingcloud-based services provisioned and/or supported by the VSCU dataservice company 1208.

According to one example, each VSCU unit provides external data accessat two different functionality levels, one for user-level access withenergy and home-management functionality, and another for aninstaller/vendor (“professional”) that lets the professional monitor auser's system, look at all the different remote sensing gauges, andoffer to provide and/or automatically provide a user with a servicevisit.

FIGS. 13A-B illustrate a thermostat having a user-friendly interface.The term “thermostat” is used below to refer to a VSCU unit (VersatileSensing and Control) that is particularly applicable for HVAC control inan enclosure. Unlike many prior art thermostats, thermostat 1300 has asleek, simple, uncluttered and elegant design. Moreover, userinteraction with thermostat 1300 is facilitated and greatly enhancedover known conventional thermostats by the design of thermostat 1300.The thermostat 1300 includes control circuitry and is electricallyconnected to an HVAC system, such as is shown with thermostat 110 inFIGS. 1 and 2. Thermostat 1300 is wall mounted, is circular in shape,and has an outer rotatable ring 1312 for receiving user input.Thermostat 1300 has a large front face lying inside the outer ring 1312.According to some examples, thermostat 1300 is approximately 80 mm indiameter. The outer rotatable ring 1312 allows the user to makeadjustments, such as selecting a new target temperature. For example, byrotating the outer ring 1312 clockwise, the target temperature can beincreased, and by rotating the outer ring 1312 counter-clockwise, thetarget temperature can be decreased. The front face of the thermostat1300 comprises a clear cover 1314 that according to some examples ispolycarbonate, and a metallic portion 1324 having a number of slots.According to some examples, the surface of cover 1314 and metallicportion 1324 form a common outward arc or spherical shape gently arcingoutward, and this gentle arcing shape is continued by the outer ring1312.

Although being formed from a single lens-like piece of material, such aspolycarbonate, the cover 1314 has two different regions or portionsincluding an outer portion 1314 o and a central portion 1314 i.According to some examples, the cover 1314 is painted or smoked aroundthe outer portion 1314 o, but leaves the central portion 1314 i visiblyclear so as to facilitate viewing of an electronic display 1316.According to some examples, the curved cover 1314 acts as a lens thattends to magnify the information being displayed in electronic display1316 to users. An example of information displayed on the electronicdisplay 1316 is illustrated in FIG. 13A, and includes central numerals1320 that are representative of a current set point temperature.According to some examples, metallic portion 1324 has number ofslot-like openings so as to facilitate the use of a passive infraredmotion sensor 1330. The metallic portion 1324 can alternatively betermed a metallic front grille portion. The thermostat 1300 is generallyconstructed so that the electronic display 1316 is at a fixedorientation and does not rotate with the outer ring 1312. In someexamples, the cover 1314 and metallic portion 1324 also remain at afixed orientation and do not rotate with the outer ring 1312. Accordingto one example in which the diameter of the thermostat 1300 is about 80mm, the diameter of the electronic display 1316 is about 45 mm.According to some examples an LED indicator 1380 is positioned beneathportion 1324 to act as a low-power-consuming indicator of certain statusconditions. For, example the LED indicator 1380 can be used to displayblinking red when a rechargeable battery of the thermostat is very lowand is being recharged. More generally, the LED indicator 1380 can beused for communicating one or more status codes or error codes by virtueof red color, green color, various combinations of red and green,various different blinking rates, and so forth, which can be useful fortroubleshooting purposes.

Motion sensing as well as other techniques can be use used in thedetection and/or predict of occupancy. According to some examples,occupancy information is used in generating an effective and efficientscheduled program. Preferably, an active proximity sensor 1370A isprovided to detect an approaching user by infrared light reflection, andan ambient light sensor 1370B is provided to sense visible light. Theproximity sensor 1370A can be used to detect proximity in the range ofabout one meter so that the thermostat 1300 can initiate wake-upfunctionality when the user is approaching the thermostat and prior tothe user touching the thermostat. Such use of proximity sensing isuseful for enhancing the user experience by readying the thermostat forinteraction as soon as, or very soon after the user is ready to interactwith the thermostat. Further, the wake-up-on-proximity functionalityalso allows for energy savings within the thermostat by sleeping when nouser interaction is taking place our about to take place. The ambientlight sensor 1370B can be used for a variety of intelligence-gatheringpurposes, such as for facilitating confirmation of occupancy when sharprising or falling edges are detected (because it is likely that thereare occupants who are turning the lights on and off) and for detectinglong patterns of ambient light intensity for confirming and/orautomatically establishing the time of day.

The thermostat 1300 is controlled by only two types of user input, thefirst being a rotation of the outer ring 1312 as shown in FIG. 13A, andthe second being an inward push on an outer cap 1308 (see FIG. 13B)until an audible and/or tactile click occurs. For the example of FIGS.13A-13B, the outer cap 1308 is an assembly that includes all of theouter ring 1312, cover 1314, electronic display 1316, and metallicportion 1324. When pressed inwardly by the user, the outer cap 1308travels inwardly by a small amount, such as 0.5 mm, against an interiormetallic dome switch (not shown), and then springably travels backoutwardly by that same amount when the inward pressure is released,providing a satisfying tactile “click” sensation to the user's hand,along with a corresponding gentle audible clicking sound. Thus, for theexample of FIGS. 13A-13B, an inward click can be achieved by directpressing on the outer ring 1312 itself, or by indirect pressing of theouter ring by virtue of providing inward pressure on the cover 1314,metallic portion 1314, or by various combinations thereof. In otherexamples, the thermostat 1300 can be mechanically configured so thatonly the outer ring 1312 travels inwardly for the inward click input,while the cover 1314 and metallic portion 1324 remain motionless. It hasbeen found desirable to provide the user with an ability to quickly goback and forth between registering ring rotations and inward clicks witha single hand and with minimal amount of time and effort involved. Thestrategic placement of the electronic display 1316 centrally inside therotatable ring 1312 allows the user to focus his or her attention on theelectronic display throughout the input process.

FIG. 13C illustrates a shell portion of a frame of the thermostat ofFIGS. 13A-B. While the thermostat functionally adapts to the usersschedule, the outer shell portion 1309 is specially configured to conveya chameleon quality or characteristic so that the overall device appearsto naturally blend in with many of the most common wall colors and walltextures found in home and business environments, at least in partbecause it will appear to assume the surrounding colors and eventextures when viewed from many different angles. The shell portion 1309has the shape of a frustum that is gently curved when viewed incross-section, and comprises a sidewall 1376 that is made of a clearsolid material, such as polycarbonate plastic. The sidewall 1376 isbackpainted with a substantially flat silver- or nickel-colored paint,the paint being applied to an inside surface 1378 of the sidewall 1376but not to an outside surface 1377. The outside surface 1377 is smoothand glossy but is not painted. The sidewall 1376 can have a thickness Tof about 1.5 mm, a diameter d1 of about 78.8 mm at a first end that isnearer to the wall when mounted, and a diameter d2 of about 81.2 mm at asecond end that is farther from the wall when mounted, the diameterchange taking place across an outward width dimension h of about 22.5mm, the diameter change taking place in either a linear fashion or, morepreferably, a slightly nonlinear fashion with increasing outwarddistance to form a slightly curved shape when viewed in profile, asshown in FIG. 13C. The outer ring 1312 of outer cap 1308 is preferablyconstructed to match the diameter d2 where disposed near the second endof the shell portion 1309 across a modestly sized gap g1 therefrom, andthen to gently arc back inwardly to meet the cover 1314 across a smallgap g2.

According to some examples, the thermostat 1300 includes a processingsystem 1360, display driver 1364 and a wireless communications system1366. The processing system 1360 is adapted to cause the display driver1364 and display area 1316 to display information to the user, and toreceiver user input via the rotatable ring 1312. The processing system1360, according to some examples, is capable of carrying out thegovernance of the operation of thermostat 1300 including the userinterface features. The processing system 1360 is further programmed andconfigured to carry out other operations as described further belowand/or in other ones of the commonly assigned incorporated applications.For example, processing system 1360 is further programmed and configuredto maintain and update a thermodynamic model for the enclosure in whichthe HVAC system is installed. According to some examples, the wirelesscommunications system 1366 is used to communicate with devices such aspersonal computers and/or other thermostats or HVAC system components,which can be peer-to-peer communications, communications through one ormore servers located on a private network, or and/or communicationsthrough a cloud-based service.

FIGS. 14A-14B illustrate a thermostat with respect to its two maincomponents: the head unit and the back plate. The thermostat 1300includes head unit 1400 and back plate 1500. In the drawings shown, the“z” direction is outward from the wall, the “y” direction is thehead-to-toe direction relative to a walk-up user, and the “x” directionis the user's left-to-right direction.

FIGS. 15A-15B illustrate the head unit with respect to its primarycomponents. Head unit 1400 includes a head unit frame 1410, the outerring 1420 (which is manipulated for ring rotations), a head unit frontalassembly 1430, a front lens 1480, and a front grille 1490. Electricalcomponents on the head unit frontal assembly 1430 can connect toelectrical components on the backplate 1500 by virtue of ribbon cablesand/or other plug type electrical connectors.

FIGS. 16A-16B illustrate the head-unit frontal assembly with respect toits primary components. Head unit frontal assembly 1430 comprises a headunit circuit board 1440, a head unit front plate 1450, and an LCD module1460. The components of the front side of head unit circuit board 1440are hidden behind an RF shield in FIG. 16A but are discussed in moredetail below with respect to FIG. 19. On the back of the head unitcircuit board 1440 is a rechargeable Lithium-Ion battery 1444, which forone preferred example has a nominal voltage of 3.7 volts and a nominalcapacity of 560 mAh. To extend battery life, however, the battery 1444is normally not charged beyond 450 mAh by the thermostat batterycharging circuitry. Moreover, although the battery 1444 is rated to becapable of being charged to 4.2 volts, the thermostat battery chargingcircuitry normally does not charge it beyond 3.95 volts. Also visible inFIG. 16B is an optical finger navigation module 1442 that is configuredand positioned to sense rotation of the outer ring 1420. The module 1442uses methods analogous to the operation of optical computer mice tosense the movement of a texturable surface on a facing periphery of theouter ring 1420. Notably, the module 1442 is one of the very few sensorsthat are controlled by the relatively power-intensive head unitmicroprocessor rather than the relatively low-power backplatemicroprocessor. This is achievable without excessive power drainimplications because the head unit microprocessor will be awake when theuser is manually turning the dial, so there is no excessive wake-uppower drain. Very fast response can also be provided by the head unitmicroprocessor. Also visible in FIG. 16A is a Fresnel lens 1457 thatoperates in conjunction with a PIR motion sensor.

FIGS. 17A-17B illustrate the backplate unit with respect to its primarycomponents. Backplate unit 1500 comprises a backplate rear plate 1510, abackplate circuit board 1520, and a backplate cover 1580. Visible inFIG. 17A are the HVAC wire connectors 1522 that include integrated wireinsertion sensing circuitry, and two relatively large capacitors 1524that are used by part of the power stealing circuitry that is mounted onthe back side of the backplate circuit board 1520 and discussed furtherbelow with respect to FIG. 20.

FIG. 18 a partially assembled head-unit front. FIG. 18 shows thepositioning of grille member 1490 designed in accordance with aspects ofthe present invention with respect to several sensors used by thethermostat. In some implementations, placement of grille member 1490over the Fresnel lens 1457 and an associated PIR motion sensor 334conceals and protects these PIR sensing elements, while horizontal slotsin the grille member 1490 allow the PIR motion sensing hardware, despitebeing concealed, to detect the lateral motion of occupants in a room orarea. A temperature sensor 330 uses a pair of thermal sensors to moreaccurately measure ambient temperature. A first or upper thermal sensor330 a associated with temperature sensor 330 tends to gather temperaturedata closer to the area outside or on the exterior of the thermostatwhile a second or lower thermal sensor 330 b tends to collecttemperature data more closely associated with the interior of thehousing. In one implementation, each of the temperature sensors 330 aand 330 b comprises a Texas Instruments TMP112 digital temperaturesensor chip, while the PIR motion sensor 334 comprises PerkinElmerDigiPyro PYD 1498 dual element pyrodetector.

To more accurately determine the ambient temperature, the temperaturetaken from the lower thermal sensor 330 b is taken into consideration inview of the temperatures measured by the upper thermal sensor 330 a andwhen determining the effective ambient temperature. This configurationcan be used to compensate for the effects of internal heat produced inthe thermostat by the microprocessor(s) and/or other electroniccomponents, obviating or minimizing temperature measurement errors thatmight otherwise be suffered. In some implementations, the accuracy ofthe ambient temperature measurement may be further enhanced by thermallycoupling upper thermal sensor 330 a of temperature sensor 330 to grillemember 1490 as the upper thermal sensor 330 a better reflects theambient temperature than lower thermal sensor 334 b.

FIG. 19 illustrates a head-on view of the head-unit circuit board. Thehead unit circuit board 1440 comprises a head unit microprocessor 1902(such as a Texas Instruments AM3703 chip) and an associated oscillator1904, along with DDR SDRAM memory 1906, and mass NAND storage 1908. ForWi-Fi capability, there is provided in a separate compartment of RFshielding 1934 a Wi-Fi module 1910, such as a Murata Wireless SolutionsLBWA19XSLZ module, which is based on the Texas Instruments WL1270chipset supporting the 802.11 b/g/n WLAN standard. For the Wi-Fi module1910 is supporting circuitry 1912 including an oscillator 1914. ForZigBee capability, there is provided also in a separately shielded RFcompartment a ZigBee module 1916, which can be, for example, a C2530F256module from Texas Instruments. For the ZigBee module 1916 there isprovided supporting circuitry 1918 including an oscillator 1919 and alow-noise amplifier 1920. Also provided is display backlight voltageconversion circuitry 1922, piezoelectric driving circuitry 1924, andpower management circuitry 1926 (local power rails, etc.). Provided on aflex circuit 1928 that attaches to the back of the head unit circuitboard by a flex circuit connector 1930 is a proximity and ambient lightsensor (PROX/ALS), more particularly a Silicon Labs SI1142Proximity/Ambient Light Sensor with an I2C Interface. Also provided arebattery charging-supervision-disconnect circuitry 1932 and spring/RFantennas 1936. Also provided is a temperature sensor 1938 (risingperpendicular to the circuit board in the +z direction containing twoseparate temperature sensing elements at different distances from thecircuit board), and a PIR motion sensor 1940. Notably, even though thePROX/ALS and temperature sensors 1938 and PIR motion sensor 1940 arephysically located on the head unit circuit board 1440, all thesesensors are polled and controlled by the low-power backplatemicrocontroller on the backplate circuit board, to which they areelectrically connected.

FIG. 20 illustrates a rear view of the backplate circuit board. Thebackplate circuit board 1520 comprises a backplateprocessor/microcontroller 2002, such as a Texas Instruments MSP430FSystem-on-Chip Microcontroller that includes an on-board memory 2003.The backplate circuit board 1520 further comprises power supplycircuitry 2004, which includes power-stealing circuitry, and switchcircuitry 2006 for each HVAC respective HVAC function. For each suchfunction the switch circuitry 2006 includes an isolation transformer2008 and a back-to-back NFET package 2010. The use of FETs in theswitching circuitry allows for “active power stealing”, i.e., takingpower during the HVAC “ON” cycle, by briefly diverting power from theHVAC relay circuit to the reservoir capacitors for a very smallinterval, such as 100 micro-seconds. This time is small enough not totrip the HVAC relay into the “off” state but is sufficient to charge upthe reservoir capacitors. The use of FETs allows for this fast switchingtime (100 micro-seconds), which would be difficult to achieve usingrelays (which stay on for tens of milliseconds). Also, such relays wouldreadily degrade doing this kind of fast switching, and they would alsomake audible noise too. In contrast, the FETS operate with essentiallyno audible noise. Also provided is a combined temperature/humiditysensor module 2012, such as a Sensirion SHT21 module. The backplatemicrocontroller 2002 performs polling of the various sensors, sensingfor mechanical wire insertion at installation, alerting the head unitregarding current vs. set point temperature conditions and actuating theswitches accordingly, and other functions such as looking forappropriate signal on the inserted wire at installation.

The thermostat 1300 represents an advanced, multi-sensing,microprocessor-controlled intelligent or “learning” thermostat thatprovides a rich combination of processing capabilities, intuitive andvisually pleasing user interfaces, network connectivity, andenergy-saving capabilities (including the presently describedauto-away/auto-arrival algorithms) while at the same time not requiringa so-called “C-wire” from the HVAC system or line power from a householdwall plug, even though such advanced functionalities can require agreater instantaneous power draw than a “power-stealing” option (i.e.,extracting smaller amounts of electrical power from one or more HVACcall relays) can safely provide. The head unit microprocessor 1902 candraw on the order of 250 mW when awake and processing, the LCD module1460 can draw on the order of 250 mW when active. Moreover, the Wi-Fimodule 1910 can draw 250 mW when active, and needs to be active on aconsistent basis such as at a consistent 2% duty cycle in commonscenarios. However, in order to avoid falsely tripping the HVAC relaysfor a large number of commercially used HVAC systems, power-stealingcircuitry is often limited to power providing capacities on the order of100 mW-200 mW, which would not be enough to supply the needed power formany common scenarios.

The thermostat 1300 resolves such issues at least by virtue of the useof the rechargeable battery 1444 (or equivalently capable onboard powerstorage medium) that will recharge during time intervals in which thehardware power usage is less than what power stealing can safelyprovide, and that will discharge to provide the needed extra electricalpower during time intervals in which the hardware power usage is greaterthan what power stealing can safely provide. In order to operate in abattery-conscious manner that promotes reduced power usage and extendedservice life of the rechargeable battery, the thermostat 1300 isprovided with both a relatively powerful and relatively power-intensivefirst processor (such as a Texas Instruments AM3703 microprocessor) thatis capable of quickly performing more complex functions such as drivinga visually pleasing user interface display and performing variousmathematical learning computations and a relatively less powerful andless power-intensive second processor (such as a Texas InstrumentsMSP430 microcontroller) for performing less intensive tasks, includingdriving and controlling the occupancy sensors. To conserve valuablepower, the first processor is maintained in a sleep state for extendedperiods of time and is woken up only for occasions in which itscapabilities are needed, whereas the second processor is kept on more orless continuously (although slowing down or disabling certain internalclocks for brief periodic intervals to conserve power) to performrelatively low-power tasks. The first and second processors are mutuallyconfigured such that the second processor can wake the first processoron the occurrence of certain events, which can be referred to as“wake-on facilities.” These wake-on facilities can be turned on andturned off as part of different functional and/or power-saving goals tobe achieved. For example, a wake-on-PROX facility can be provided bywhich the second processor, when detecting a user's hand approaching thethermostat dial by virtue of an active proximity sensor (PROX, such asprovided by a Silicon Labs SI1142 Proximity/Ambient Light Sensor withI2C Interface), will wake up the first processor so that it can providea visual display to the approaching user and be ready to respond morerapidly when their hand touches the dial. As another example, awake-on-PIR facility can be provided by which the second processor willwake up the first processor when detecting motion somewhere in thegeneral vicinity of the thermostat by virtue of a passive infraredmotion sensor (FIR, such as provided by a PerkinElmer DigiPyro PYD 1998dual element pyrodetector). Notably, wake-on-FIR is not synonymous withauto-arrival, as there would need to be N consecutive buckets of sensedFIR activity to invoke auto-arrival, whereas only a single sufficientmotion event can trigger a wake-on-PIR wake-up.

FIGS. 21A-21C illustrate the sleep-wake timing dynamic, at progressivelylarger time scales. FIGS. 21A-21C illustrate examples of the sleep-waketiming dynamic that can be achieved between the head unit (HU)microprocessor and the backplate (BP) microcontroller thatadvantageously provides a good balance between performance,responsiveness, intelligence, and power usage. The higher plot value foreach represents a wake state (or an equivalent higher power state) andthe lower plot value for each represents a sleep state (or an equivalentlower power state). As illustrated, the backplate microcontroller isactive much more often for polling the sensors and similar relativelylow-power tasks, whereas the head unit microprocessor stays asleep muchmore often, being woken up for “important” occasions such as userinterfacing, network communication, and learning algorithm computation,and so forth. A variety of different strategies for optimizing sleepversus wake scenarios can be achieved by the disclosed architecture andis within the scope of the present teachings.

FIG. 22 illustrates a self-descriptive overview of the functionalsoftware, firmware, and/or programming architecture of the head unitmicroprocessor 1902. FIG. 23 illustrates the functional software,firmware, and/or programming architecture of the backplatemicrocontroller 2002. FIG. 24 illustrates a view of the wiringterminals, as presented to the user, when the backplate is exposed. Eachwiring terminal is configured so that the insertion of a wire isdetected and made apparent to the backplate microcontroller andultimately the head unit microprocessor. According to one example, whenthe insertion of a particular wire is detected, a further check isautomatically carried out by the thermostat to ensure that signalsappropriate to that particular wire are present. For one example, avoltage waveform between that wiring node and a “local ground” of thethermostat is automatically measured. The measured waveform should havean RMS-type voltage metric that is above a predetermined thresholdvalue, and when such predetermined value is not reached, then a wiringerror condition is indicated to the user. The predetermined thresholdvalue, which may vary from circuit design to circuit design depending onthe particular selection of the local ground, can be empiricallydetermined using data from a population of typical HVAC systems tostatistically determine a suitable threshold value. In some examples,the “local ground” or “system ground” can be created from the R_(h) lineand/or R_(c) terminal and whichever of the G, Y, or W terminals fromwhich power stealing is being performed, these two lines going into afull-bridge rectifier (FWR) which has the local ground as one of itsoutputs.

Distribution of Call-Home Events Over Time to Ameliorate HighCommunications and Computation Peaks in Intelligent Control System

FIG. 25 illustrates, in part, the extensive amount of information thatis maintained by an intelligent thermostat during environmental controland monitoring operations. This information may be stored in databases,formatted files, and in other types of electronic data-storage mediausing any of various types of data-organization and data-storage methodsthat result in storing data on physical data-storage devices, includingelectronic memory, electromagnetic disks, and electro-optico-mechanicaldata-storage devices. The information maintained by an intelligentthermostat may include, as shown in FIG. 25, device information 2502,user information 2504, characterizations of the environment that isbeing controlled by the intelligent thermostat 2506, monitoring datacollected over time by the intelligent thermostat, and various types ofevents and alarms logged by the intelligent thermostat 2508. Certaindetails with respect to device information are shown within adevice-information page or data structure 2502. The information storedfor a device may include a device identifier 2510, a device location2512, a device type 2514, an identifier of the control program that isinstalled within the intelligent thermostat 2516, a device version 2518,a control-program version 2520, the date and time of the most recentconfiguration update 2522, and many other similar types of information.Values for these types of information are not shown in FIG. 25, forsimplicity of illustration and because the particular values, such asthe values of identifiers, are generally lengthy alphanumeric stringswith generally arbitrary formats, sizes, and encodings. An intelligentthermostat may maintain a significant amount of user information,including information used to authorize users, contact information forusers, observed patterns of user occupancy and behaviors, and many othertypes of user information. Environmental-characterization informationmay contain detailed information with respect to heat sources, heatsinks, insulation factors, large heat-capacity objects and rooms,locations and sizes of windows and window coverings, and details ofsensor inputs and sensor-data patterns that correlate with operation ofvarious types of appliances, occupant behaviors, and other activitiesthat may impact intelligent control of the environment in which theintelligent thermostat is located. The intelligent thermostat may recordsensor data related to observed events and may also maintain detailedevent logs, alarm logs, and other such historical information. Theabove-discussed stored information is stored by the intelligentthermostat in physical data-storage media, including various types ofelectronic memories comprising one or more memory integrated circuits,

In various implementations of the above-describedintelligent-thermostat-based intelligent control system, the intelligentthermostats are configured to exchange information with a central serverwithin a remote intelligent-control system at particular, favorabletimes during the day. In one implementation, intelligent thermostats areconfigured to undertake information exchange with a central servershortly after midnight each day. Information exchange may includedownload of significant amounts of sensor data, event logs, and updatesto user information, environment characterization, and other datamaintained by the intelligent thermostat. The information exchange alsotypically involves upload of configuration-information updates, newversions of control programs and other routines that run within theintelligent thermostat, and other information from the central server.These data exchanges can be carried out via the HTTPS protocol overTCP/IP or by any of many other means for downloading and uploading filesto and from remote servers.

In certain implementations, this information exchange, referred to as a“call-home event,” occurs shortly after midnight, local time, for eachand every intelligent thermostat in a particular time zone. As theinstalled base of intelligent thermostats increases, a large number ofcall-home events occurring shortly after midnight produces increasinglyhigh peak computational and communications loads on server computers.Creating, maintaining, and managing data centers capable of handlingthese peak computational and communications loads, but which areotherwise underutilized during most of the day, when call-home events donot occur, is expensive and inefficient. While certain of these expensesand inefficiencies can be ameliorated by using virtual-data centers thatcan be dynamically reconfigured to provide sufficient computational andcommunications bandwidth during peak call-home-event periods and scaledback for the majority of the day, when less communications and computingcapacity is needed, spikes in communications and computing loads tohandle peak call-home event activity may nonetheless results ininefficiencies in intelligent-control-system operation and management.There are often practical limits in communications capacities even forvirtual data centers that, when approached or exceeded, result inincreasingly inefficient operation as intelligent thermostats fail toestablish call-home connections and therefore retry connection attempts.

The current application is directed to a call-home component and methodsof managing call-home activities within an intelligent-thermostat-basedintelligent control system in order to distribute call-home events overa configurable period of time, rather than scheduling call-borne eventsat a particular time or over a narrow time window. The device data shownin FIG. 25 includes, in the device-information page or data structure2502, six different information values 2530-2535 that are used, in oneimplementation, for call-home-event management. The call-home address2530 is a communications address used by the intelligent thermostat toinitiate information exchange with the central server. This may be an IPaddress, dial-in phone number, or any of many different types ofcommunications addresses or contact identifiers. The call-home address2530 may include an indication of the type of communications medium withwhich the call-home address is associated, or this information may bealternatively stored separately, in an additional field not shown inFIG. 25. The call-home initial time value 2531 indicates, by a digitallyencoded time value, a time of day during which call-home events are tobe initiated. The call-home splay value 2532 is, in one implementation,a random number between 0.0 and 1.0 that is selected, using apseudo-random-number generator, either by the intelligent thermostatduring initial configuration, by a manufacturing facility when theintelligent thermostat is manufactured or processed, or by theintelligent-control system for transmission to the intelligentthermostat during initial configuration or subsequent configurations.The call-home retry value 2533 is a time, in seconds, that anintelligent thermostat should wait before retrying a failed call-homedata exchange. The call-home retry value may also be a random numbergenerated within a retry-value range for each intelligent thermostat,may instead be a single retry value assigned to all intelligentthermostats, or may be one of numerous retry values assigned todifferent groups of intelligent thermostats by the intelligent-controlsystem. The most recent successful call-home data value 2534 indicatesdate and time of the last successful information exchange with thecentral server. A splay timed 2535 Boolean value is used duringcall-home-event management, as discussed further below.

FIGS. 26-28 illustrate, using control-flow diagrams, one implementationof call-home-event management within an intelligent-thermostat-basedintelligent-control system that distributes call-home events over aconfigurable period of time, rather than configuring call-home events beinitiated at one local time within a narrow time range. Thecall-home-event management logic is encoded as computer instructionsstored within electronic memories and executed by one or more processorsand/or microcontrollers within the intelligent thermostat. FIG. 26illustrates an event handler that, in certain implementations, lies atthe core of intelligent-thermostat operation. The event handler is acontinuous loop in which, in step 2602, the control program within anintelligent thermostat waits for a next event to occur and then respondsto that event. When a next event has occurred, and that event is anexpiration of a call-home timer or other similar timing event related tocall-home events, as determined in step 2604, then a call-home routineis called by the event handler in step 2606 to handle the event. Otherevents are handled in various ways, represented by a call to thehandle-event routine 2608. When there are additional events to handleduring a particular iteration of the event-handling loop, as determinedin step 2610, control flows back to step 2604. Otherwise, control flowsback to step 2602 in which the event handler waits until a next eventoccurs.

FIG. 27 is a control-flow diagram for the call-home routine invoked instep 2606 of the event-handler routine shown in FIG. 26. In step 2702,the call-home routine accesses the stored information related tocall-home-event management, such as the data values 2530-2535 shown inFIG. 25 and described above. When splay timed has the value “true,” asdetermined in step 2704, a place-call routine is called, in step 2706,to initiate an information exchange with the central server. Otherwise,when the current time is greater than or equal to the call-home initialtime, as determined in step 2708, and when a current time minus thecall-home initial time is less than a maxDelay constant value, asdetermined in step 2710, then, in step 2712, a local variable remainingis set to a time equal to the call-home initial time plus the maxDelayminus the current time and, in step 2714, splay timed is set to “true”and a call-home timer is set to expire at a time equal to the contentsof the variable remaining plus the current time added to the call-homesplay value (2532 in FIG. 25). The call-home routine then ends, in step2716. In other words, once the call-home timer initially expires, thecall-home routine sets the splay timed value to “true” and sets anadditional timer to expire based on the call-home splay value (2532 inFIG. 25). Because the call-home splay values are pseudorandomlygenerated, the effect of setting the second timer is to distributecall-home events from multiple intelligent thermostats randomly over aperiod of time equally to maxDelay.

In the described implementation, when the current time is not greaterthan or equal to the call home initial time, as determined in step 2708,then the call-home routine infers that the time for completing a nextcall-home event has passed, and sets the call-home timer to correspondto a next time for call-home events, in step 2718. Similarly, when thecurrent time is later than the time range for call-home events,indicated by the maxDelay value, then call-home event processing isdeferred until the next time for call-home events, in step 2718. Inalternative implementations, an intelligent thermostat may continue toretry a call-home event until the call-home event completes, regardlessof how long the intelligent thermostat may need to retry the call-homeevent. In one implementation, using a 24-hour time-of-day value, thecurrent time is deemed to be greater than or equal to the call-homeinitial time when the current time falls in a period of 12 hoursfollowing the time encoded in the call-home initial time data value. Inalternative implementations, other ways of determining whether thecurrent time is an appropriate time to invoke a call-home event may beused.

FIG. 28 provides a control-flow diagram for the place-call routinecalled in step 2706 of FIG. 27. The place-call routine undertakes aninformation-exchange between an intelligent thermostat and a remoteserver that is referred to as a “call-home event.” In step 2802, theplace-call routine determines whether or not the current time is withina range of times, encoded in the call-home initial time and maxDelaydata values, during which a call-home event can be initiated, similar tostep 2710 of FIG. 27. When the current time falls outside this range,then the splay timed value is set to false and a call-home timer is setto expire at the next call-home event-initiation time in step 2804.Otherwise, a retry counter is set to a configurable number of allowablemaximum retries, in step 2806 and, in step 2808, the intelligentthermostat uses the call-home address value to initiate an informationexchange with the remote server. When the information exchange has notbeen successfully initiated, as determined in step 2810, then acall-home timer is set to expire after a period of time equal to thecall-home retry value (2533 in FIG. 25) in step 2812 and the place-callroutine ends. Otherwise, when the information exchange has successfullycompleted, as determined in step 2814, then the place-call routine setsthe splay timed value to false and sets a call-home timer to expire atthe next time period for initiating call-home events, in step 2816. Whenthe information exchange is not successfully completed, as determined instep 2814, then the place-call routine notes any portion of theinformation exchange that did succeed, so that portion is not againrepeated, and decrements the retry counter, in step 2818. When the retrycounter is greater than or equal to zero, as determined in step 2820,then control flows back to step 2808, in which a next attempt tocomplete the information exchange is carried out. When the retry counteris less than or equal to zero, as determined in step 2820, then acall-home timer is set to expire after the retry period encoded in thecall-home retry data value, in step 2822.

Thus, the call-home splay value is used to distribute initiation ofcall-home events over a period of time defined by the constant maxDelayfollowing an initial call-home time defined by the call-home initialtime data value (2531 in FIG. 25). An intelligent thermostat firstinitiates a call-home event following expiration of the second timerthat is set according to the call-home splay data value. The intelligentthermostat may retry failed call-home events periodically, as determinedby the call-home retry data value, until the call-home event issuccessfully carried out or until the period in which call-home eventscan be initiated has passed. When an intelligent thermostat fails, forwhatever reason, to complete a call-home event within the range of timeduring which call-home events can be initiated, the intelligentthermostat defers to the call-home event until a next call-home-eventinitiation period, storing data until the data is able to becommunicated to the remote server.

The subject matter of this patent specification also relates to thesubject matter of the following commonly assigned applications: U.S.Ser. No. 12/881,430 filed Sep. 14, 2010; U.S. Ser. No. 12/881,463 filedSep. 14, 2010; U.S. Prov. Ser. No. 61/415,771 filed Nov. 19, 2010; U.S.Prov. Ser. No. 61/429,093 filed Dec. 31, 2010; U.S. Ser. No. 12/984,602filed Jan. 4, 2011; U.S. Ser. No. 12/987,257 filed Jan. 10, 2011; U.S.Ser. No. 13/033,573 filed Feb. 23, 2011; U.S. Ser. No. 29/386,021, filedFeb. 23, 2011; U.S. Ser. No. 13/034,666 filed Feb. 24, 2011; U.S. Ser.No. 13/034,674 filed Feb. 24, 2011; U.S. Ser. No. 13/034,678 filed Feb.24, 2011; U.S. Ser. No. 13/038,191 filed Mar. 1, 2011; U.S. Ser. No.13/038,206 filed Mar. 1, 2011; U.S. Ser. No. 29/399,609 filed Aug. 16,2011; U.S. Ser. No. 29/399,614 filed Aug. 16, 2011; U.S. Ser. No.29/399,617 filed Aug. 16, 2011; U.S. Ser. No. 29/399,618 filed Aug. 16,2011; U.S. Ser. No. 29/399,621 filed Aug. 16, 2011; U.S. Ser. No.29/399,623 filed Aug. 16, 2011; U.S. Ser. No. 29/399,625 filed Aug. 16,2011; U.S. Ser. No. 29/399,627 filed Aug. 16, 2011; U.S. Ser. No.29/399,630 filed Aug. 16, 2011; U.S. Ser. No. 29/399,632 filed Aug. 16,2011; U.S. Ser. No. 29/399,633 filed Aug. 16, 2011; U.S. Ser. No.29/399,636 filed Aug. 16, 2011; U.S. Ser. No. 29/399,637 filed Aug. 16,2011; U.S. Ser. No. 13/199,108, filed Aug. 17, 2011; U.S. Ser. No.13/267,871 filed Oct. 6, 2011; U.S. Ser. No. 13/267,877 filed Oct. 6,2011; U.S. Ser. No. 13/269,501, filed Oct. 7, 2011; U.S. Ser. No.29/404,096 filed Oct. 14, 2011; U.S. Ser. No. 29/404,097 filed Oct. 14,2011; U.S. Ser. No. 29/404,098 filed Oct. 14, 2011; U.S. Ser. No.29/404,099 filed Oct. 14, 2011; U.S. Ser. No. 29/404,101 filed Oct. 14,2011; U.S. Ser. No. 29/404,103 filed Oct. 14, 2011; U.S. Ser. No.29/404,104 filed Oct. 14, 2011; U.S. Ser. No. 29/404,105 filed Oct. 14,2011; U.S. Ser. No. 13/275,307 filed Oct. 17, 2011; U.S. Ser. No.13/275,311 filed Oct. 17, 2011; U.S. Ser. No. 13/317,423 filed Oct. 17,2011; U.S. Ser. No. 13/279,151 filed Oct. 21, 2011; U.S. Ser. No.13/317,557 filed Oct. 21, 2011; and U.S. Prov. Ser. No. 61/627,996 filedOct. 21, 2011. PCT/US11/61339 filed Nov. 18, 2011; PCT/US11/61344 filedNov. 18, 2011; PCT/US11/61365 filed Nov. 18, 2011; PCT/US11/61379 filedNov. 18, 2011; PCT/US11/61391 filed Nov. 18, 2011; PCT/US11/61479 filedNov. 18, 2011; PCT/US11/61457 filed Nov. 18, 2011; PCT/US11/61470 filedNov. 18, 2011; PCT/US11/61339 filed Nov. 18, 2011; PCT/US11/61491 filedNov. 18, 2011; PCT/US11/61437 filed Nov. 18, 2011; PCT/US11/61503 filedNov. 18, 2011; U.S. Ser. No. 13/342,156 Filed Jan. 2, 2012;PCT/US12/00008 filed Jan. 3, 2012; PCT/US12/20088 filed Jan. 3, 2012;PCT/US12/20026 filed Jan. 3, 2012; PCT/US12/00007 filed Jan. 3, 2012;U.S. Ser. No. 13/351,688 filed Jan. 17, 2012; U.S. Ser. No. 13/356,762filed Jan. 24, 2012; and PCT/US12/30084 filed Mar. 22, 2012. Each of theabove-referenced patent applications is incorporated by referenceherein.

Although the present invention has been described in terms of particularembodiments, it is not intended that the invention be limited to theseembodiments. Modifications within the spirit of the invention will beapparent to those skilled in the art. For example, call-home-eventmanagement can be implemented using many different programminglanguages, control structures, data structures, underlying controlprograms, communications protocols, timing devices, and by varying othertypes of implementation parameters. In the disclosed implementation,call-home events are restricted to a period defined by the constantvalue maxDelay. In alternative implementations, call-home events may bereinitiated until they succeed, or, when failed, may invoke moreelaborate call-home-event handling procedures. In the above-discussedimplementation, multiple timers are used to initiate a call-home event,a first timer set to the beginning of a call-home initiation period anda second timer set to a pseudorandomly generated call-home splay time inorder to distribute call-home events over a period of time. Inalternative implementations, a single timer may be set to a time equalto the sum of the time at which the call-home initiation period beginsand the call-home splay time. In yet additional implementations, pollingor other techniques may be used in place of timers. The above-disclosedintelligent thermostats create and maintain data structures, files, orother data-storage entities that contain information about theintelligent thermostat, user information, information about theenvironment controlled by the intelligent thermostat, event logs, andother information. The quantity and types of information stored withinan intelligent thermostat may vary with different implementations anddesigns, including the data stored to control call-home activities. Incertain implementations, the call-home splay value is randomly orpseudorandomly generated by an intelligent-control-system computer anddownloaded to the intelligent thermostat. In alternativeimplementations, the call-home splay value may be randomly orpseudorandomly generated by the intelligent thermostat. The call-homesplay value, and other data values involved in call-home-event controlstored within an intelligent thermostat, may be updated by a remoteserver, in certain implementations. In alternative implementations, thecall-home splay value may be encoded within an intelligent thermostatduring manufacture or in a post-manufacture process. In certainimplementations, rather than generating a call-home splay time for eachintelligent thermostat, the intelligent control system may insteadrandomly or pseudorandomly generate a call-home time for eachintelligent thermostat.

It is appreciated that the previous description of the disclosedembodiments is provided to enable any person skilled in the art to makeor use the present disclosure. Various modifications to theseembodiments will be readily apparent to those skilled in the art, andthe generic principles defined herein may be applied to otherembodiments without departing from the spirit or scope of thedisclosure. Thus, the present disclosure is not intended to be limitedto the embodiments shown herein but is to be accorded the widest scopeconsistent with the principles and novel features disclosed herein.

1-18. (canceled)
 19. An intelligent thermostat within an intelligentcontrol system, the intelligent thermostat comprising: one or moreprocessors; one or more memory devices; a first time stored in the oneor more memory devices, the first time also being stored in a pluralityof other intelligent thermostats; a time-offset stored in the one ormore memory devices, wherein the time-offset is unique in relation totime-offsets stored in the plurality of other intelligent thermostats;and instructions stored within the one or more memory devices that, whenexecuted by the one or more processors, cause the intelligent thermostatto: detect the beginning of a call-home interval beginning at the firsttime, the call-home interval being the same for each of the plurality ofother intelligent thermostats; wait, after the beginning of thecall-home interval, for a delay defined by the time-offset; andestablish a communications connection to a remote server of theintelligent control system after the delay, such that each of theplurality of other intelligent thermostats establishes communicationsconnections with the remote server at different times within thecall-home interval.
 20. The intelligent thermostat of claim 19, whereinthe time-offset is randomly or pseudorandomly generated by a remoteintelligent-control-system computer and downloaded to the intelligentthermostat.
 21. The intelligent thermostat of claim 19, wherein thetime-offset is randomly or pseudorandomly generated by the intelligentthermostat.
 22. The intelligent thermostat of claim 19, wherein thetime-offset is randomly or pseudorandomly generated and stored in theone or more memory devices during one of a manufacturing and apost-manufacturing process.
 23. The intelligent thermostat of claim 19,further including a first data value, stored in the one or more memorydevices, that indicates a communications address through which thecommunications connection is established.
 24. The intelligent thermostatof claim 19, wherein the first time indicating the beginning of thecall-home interval occurs at least once during each 24-hour interval.25. The intelligent thermostat of claim 19, wherein the instructionsfurther cause the intelligent thermostat to, following establishment ofthe communications connection, receive one or more ofconfiguration-information updates and new versions of control programsthat run within the intelligent thermostat from the remote server. 26.The intelligent thermostat of claim 19, wherein the instructions furthercause the intelligent thermostat to, following establishment of thecommunications connection, upload to the remote server one or more ofaccumulated sensor data, event logs, and environment-characterizationinformation.
 27. The intelligent thermostat of claim 19, wherein theintelligent thermostat and the plurality of other intelligentthermostats are a subset of intelligent thermostats that all communicatewith the remote server.
 28. The intelligent thermostat of claim 19,wherein the instructions further cause the intelligent thermostat to:detect a failure to establish the communications connection to theremote server; wait for a second delay defined by a maximum delay timestored in the one or more memories; and attempt again to establish thecommunications connection to the remote server if, after the seconddelay, the call-home interval is not over.
 29. A method for dataexchange between an intelligent thermostat and remote server within anintelligent control system, the method comprising: storing a first timein one or more memory devices of the intelligent thermostat, the firsttime also being stored in a plurality of other intelligent thermostats;storing a time-offset stored in the one or more memory devices of theintelligent thermostat, wherein the time-offset is unique in relation totime-offsets stored in the plurality of other intelligent thermostats;detecting, by one or more processors of the intelligent thermostat, thebeginning of a call-home interval beginning at the first time, thecall-home interval being the same for each of the plurality of otherintelligent thermostats; waiting, by the one or more processors of theintelligent thermostat, and after the beginning of the call-homeinterval, for a delay defined by the time-offset; and establishing, bythe intelligent thermostat, a communications connection to a remoteserver of the intelligent control system after the delay, such that eachof the plurality of other intelligent thermostats establishescommunications connections with the remote server at different timeswithin the call-home interval.
 30. The method of claim 29, furthercomprising: receiving, by the intelligent thermostat, a randomly orpseudorandomly generated value to be stored as the time-offset, whereinthe randomly or pseudorandom generated value is generated by a computerof the intelligent control system.
 31. The method of claim 29, furthercomprising: randomly or pseudorandomly generating, by the intelligentthermostat, a value to be stored as the time offset, wherein each of theplurality of other intelligent thermostats randomly or pseudorandomgenerates their own values to be stored as time offsets
 32. The methodof claim 29, further comprising: receiving, by the intelligentthermostat, a randomly or pseudorandomly generated value to be stored asthe time offset, wherein the randomly or pseudorandomly generated valueis generated by a manufacturer of the intelligent thermostat and each ofthe plurality of other intelligent thermostats, wherein the time offsetis stored during one of a manufacturing and post-manufacturing process.33. The method of claim 29, further comprising storing, in the one ormore memory devices, a first data value that indicates a communicationsaddress through which the communications connection is established. 34.The method of claim 29, wherein the first time indicating the beginningof the call-home interval occurs at least once during each 24-hourinterval.
 35. The method of claim 29, further comprising: followingestablishment of the communications connection, receiving one or more ofconfiguration-information updates and new versions of control programsthat run within the intelligent thermostat from the remote server. 36.The method of claim 29, further comprising: following establishment ofthe communications connection, uploading to the remote server one ormore of accumulated sensor data, event logs, andenvironment-characterization information.
 37. The method of claim 29,wherein the intelligent thermostat and the plurality of otherintelligent thermostats are a subset of intelligent thermostats that allcommunicate with the remote server.
 38. The method of claim 29, furthercomprising: detecting a failure to establish the communicationsconnection to the remote server; waiting for a second delay defined by amaximum delay time stored in the one or more memories; and attemptingagain to establish the communications connection to the remote serverif, after the second delay, the call-home interval is not over.